package Sintactico;

public class VarCons {
			
		//como float da error xq es un tipo de java pongo floAt
		public enum TipoVar{natural, integer, floAt, character, booleano, error};
		
		//definimos como constantes los tipo de la practica y le ponemos un valor
		public final static int ERROR = -1;	//puede que convenga pasar este a 5 no sty seguro.
		public final static int natural = 0;
		public final static int integer = 1;
		public final static int floAt = 2;
		public final static int character = 3;
		public final static int booleano = 4; 
		//public final static int ERROR = 5;
		public final static int NUMERO_GENERAL = 6; //WTF?? yo tampoco lo entiendo mucho este pero 
															//puede q luego sea util

		private String id;
	    private TipoVar tipo;
	    private int dir;
	    private boolean cons;
	    
	    public VarCons(){}

	    /**
	     * le metemos el id y si es const o no q eso nos lo dira el analizador sintactico
	     * @param id
	     * @param tipo
	     * @param cons
	     */
	    public VarCons(String id, TipoVar tipo, boolean cons){
	    	this.id = id;
	    	this.tipo = tipo;
	    	this.dir = 0;
	    	this.cons = cons;	    	
	    }
	    
	    public String getID(){
	        return id;
	    }

	    public void setID(String id){
	        this.id = id;
	    }

	    public int getDir(){
	        return dir;
	    }

	    public void setDir(int dir){
	        this.dir = dir;
	    }

	    public TipoVar getTipo(){
	        return tipo;
	    }

	    public void setTipo(TipoVar tipo) {
	        this.tipo = tipo;
	    }
	    public boolean getCons(){
	        return cons;
	    }

	    public void setCons(boolean cons){
	        this.cons = cons;
	    }
	}
